// 最短重复串的长度
// 给你一个字符串s1，它是由某个字符串s2不断自我连接形成的
// 题目保证至少重复2次，但是字符串s2是不确定的
// 现在只想知道它的最短长度是多少
// 测试链接 : https://www.luogu.com.cn/problem/P4391
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1000001;
int next[MAXN];
int n;
char s[MAXN];

inline int read()
{
    char ch = getchar();
    int x = 0, f = 1;
    while(ch < '0' || ch > '9')
    {
        if(ch == '-') f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9')
    {
        x = 10 * x + ch - '0';
        ch = getchar();
    }
    return f * x;
}

void nextArray()
{
    ::next[0] = -1;
    ::next[1] = 0;
    int i = 2, cn = 0;
    while(i <= n)
    {
        if(s[i - 1] == s[cn])
            ::next[i++] = ++cn;
        else if(cn > 0)
            cn = ::next[cn];
        else
            ::next[i++] = 0;
    }
}

int compute()
{
    nextArray();
    return n - ::next[n];
}

int main()
{
    n = read();
    scanf("%s", s);
    printf("%d\n", compute());

    return 0;
}